package com.yuantu.judiciary.model.domain;

import com.yuantu.judiciary.model.BaseDO;
import lombok.Data;
import org.hibernate.annotations.Comment;
import org.hibernate.annotations.DynamicUpdate;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

/**
 * 用户表
 *
 * @author syw
 * @since 2023-06-12
 **/
@Data
@Entity
@DynamicUpdate
@Table(name = "user_info")
public class UserInfoDO extends BaseDO {

    /**
     * 手机号
     */
    @Column(length = 20, nullable = false)
    @Comment("手机号")
    private String phone;

    /**
     * 微信openid
     */
    @Comment("微信openid")
    private String openId;

    /**
     * 用户在开放平台的唯一标识符，若当前小程序已绑定到微信开放平台账号下会返回
     */
    @Comment("微信unionid")
    private String unionId;

    /**
     * 支付宝小程序-【证件号码】结合证件类型使用.【注意】只is_certified为T的时候才有意义，否则不保证准确性.
     */
    @Comment("证件号码")
    private String certNo;

    /**
     * 支付宝小程序-【证件类型】0:身份证 1:护照 2:军官证 3:士兵证 4:回乡证 5:临时身份证 6:户口簿
     * 7:警官证 8:台胞证 9:营业执照10:其它证件 11:港澳居民来往内地通行证 12:台湾居民来往大陆通行证 13:台湾居民居住证 14:港澳居民居住证
     15:港澳身份证 16:外国人永久居住证【注意】只有is_certified为T的时候才有意义，否则不保证准确性.
     */
    @Comment("证件类型")
    private String certType;

    /**
     * 支付宝小程序- 若用户是个人用户，则是用户的真实姓名；若是企业用户，则是企业名称。【注意】只有is_certified为T的时候才有意义，否则不保证准确性.
     */
    @Comment("真实姓名/企业名称")
    private String userName;

    /**
     * 支付宝用户的userId。
     */
    @Comment("支付宝用户的userId")
    private String aliUserId;


    @Comment("是否是一体机注册")
    private Boolean isMachine;
}
